#include "FreeRTOS.h"
#include <queue.h>
#include "Colas.h"
#include "Comunicaciones.h"

/* Handles Colas*/

// Comunicaciones

xQueueHandle colaComunicaciones;

// Display

xQueueHandle colaInterfaz;

xQueueHandle colaAlarma_LCD;

xQueueHandle colaZona;

xQueueHandle colaAlimentacion;

xQueueHandle colaEstadoComunicaciones;

// Interfaz

xQueueHandle colaAlarma;

// Procesamiento

xQueueHandle colaEditorEscala;

xQueueHandle colaDistribucion;

xQueueHandle colaAlmacenamiento;

xQueueHandle colaAnalisis;

//Globales

xQueueHandle colaStatus;
xQueueHandle colaZonaActual;
xQueueHandle colaSecuencia;

void MAKE_colas(void) {
	char tmp = (char)0x01;
	int tmp2 = 1;
	// Comunicaciones

	colaComunicaciones = xQueueCreate(10, sizeof(struct DatoComunicaciones));

	// Display

	colaInterfaz = xQueueCreate(1, sizeof(struct DatoInterfaz));

	colaAlarma_LCD = xQueueCreate(1, 1);

	colaZona = xQueueCreate(1, 1);

	colaAlimentacion = xQueueCreate(1, 1);

	colaEstadoComunicaciones = xQueueCreate(1, 1);

	// Interfaz

	colaAlarma = xQueueCreate(1, 1);

	// Procesamiento

	colaEditorEscala = xQueueCreate(1, sizeof(struct DatoADC));

	colaDistribucion = xQueueCreate(1, sizeof(struct DatoEditado));

	colaAlmacenamiento = xQueueCreate(1, sizeof(struct DatoAlmacenamiento));

	colaAnalisis = xQueueCreate(1, sizeof(struct DatoEditado));

	// Globales
	colaStatus = xQueueCreate(1, sizeof(char));

	colaZonaActual = xQueueCreate(1, sizeof(char));

	colaSecuencia = xQueueCreate(1, sizeof(int));

	xQueueSend(colaSecuencia, &tmp2, portMAX_DELAY);
	xQueueSend(colaZonaActual, &tmp, portMAX_DELAY);
	xQueueSend(colaStatus, UNCONNECTED, portMAX_DELAY);

}

